package com.internetCafes.spms.web.customer.entity.role;

import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import java.io.Serializable;
import java.util.Date;

/**
 * <p>
 * 角色表
 * </p>
 *
 * @author Zj
 * @since 2021-10-13
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("t_role_info")
public class EntRoleInfo implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 主键id
     */
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    /**
     * 角色名称
     */
    private String name;

    /**
     * 备注
     */
    private String remark;

    /**
     * 管理层标签 0-默认 1-管理层
     */
    private Integer managerFlag;

    /**
     * 上级角色id
     */
    private Long parentId;

    /**
     * 角色类型标签 1-平台角色：包括admin和企业管理员 能看到企业所有客户信息|2-企业角色：企业自己创建的角色，进行权限分配用
     */
    private Integer typeId;

    /**
     * 区域管理员标签 0-否 1-是
     */
    private Integer areaManagerFlag;

    /**
     * 创建者id 引用t_user_info表
     */
    @TableField(fill = FieldFill.INSERT)
    private Long createBy;

    /**
     * 创建时间
     */
    @JsonFormat(pattern = "yyyy-MM hh:mm")
    @TableField(fill = FieldFill.INSERT)
    private Date createTime;

    /**
     * 更新人id 引用t_user_info表
     */
    @TableField(fill = FieldFill.UPDATE)
    private Long updateBy;

    /**
     * 更新时间
     */
    @TableField(fill = FieldFill.UPDATE)
    private Date updateTime;

    /**
     * 企业id 引用t_tenant_info表
     */
    private Long tenantId;

    /**
     * 角色编码
     */
    private String roleCode;

    /**
     * 系统配置标签（1-系统配置、0-非系统配置）
     */
    private Integer sysFlag;

}
